﻿using System;

namespace JAAF.Builders
{
    /// <summary>
    /// Specifies how and when the instances of a registered type
    /// will by created in the context of a <see cref="BuilderBase"/> builder
    /// </summary>
    public enum InstancingPolicyEnum
    {
        /// <summary>
        /// A new instance will be created for each request
        /// </summary>
        PerCall = 0,

        /// <summary>
        /// An instance will be shared between objects created in the same thread
        /// </summary>
        PerThread = 1,

        /// <summary>
        /// A global instance will be shared among all objects created by the builder
        /// </summary>
        Singleton = 2
    }

}
